#ifndef PARSERLOG_H
#define PARSERLOG_H

#include <iostream>
#include <QMap>
#include <QList>
#include <algorithm>
#include <QRegExp>
#include <QString>
#include <QDebug>
#include <QDir>
#include <QFile>
#include "getcontent.h"

#define HOSTINDEX 3

using namespace std;

class ParserLog : public QObject
{
public:
    ParserLog();
    static void formatString(QString &);//去除多余的空格
    static void reverseQList(QList<QMap<QString, QString> > &);

    static void parserSwitch(QList<QMap<QString, QString> > &);      //wtmp
    static void parserSysInfo(QList<QMap<QString, QString> > &);     //syslog
    static void parserSysBoot(QList<QMap<QString, QString> > &);     //boot.log
    static void parserPackage(QList<QMap<QString, QString> > &);     //dpkg.log
    static void parserKernel(QList<QMap<QString, QString> > &);      //kern.log
    static void parserSoftwareUpdate(QList<QMap<QString, QString> > &);//alternatives.log
    static void parserPrint(QList<QMap<QString, QString> > &);       //cups/access_log
    static void parserBurn(QList<QMap<QString, QString> > &);        //brosera.log
    static void parserAudit(QList<QMap<QString, QString> > &);       //audit/audit.log
    static void parserSession(QList<QMap<QString, QString> > &);     //.xsession-errors
    static void parserXorg(QList<QMap<QString, QString> > &);        //Xorg.0.log
    static void parserApplication(QList<QMap<QString, QString> > &); //messages
    static void parserSwitchTimes(QList<QMap<QString, QString> > &); //wtmp
    static void parserDebug(QList<QMap<QString, QString> > &);       //level_debug
    static void parserInfo(QList<QMap<QString, QString> > &);        //level_info
    static void parserNotice(QList<QMap<QString, QString> > &);      //level_notice
    static void parserWarning(QList<QMap<QString, QString> > &);     //level_warning
    static void parserError(QList<QMap<QString, QString> > &);       //level_err
    static void parserCritical(QList<QMap<QString, QString> > &);    //level_crit
    static void parserAlert(QList<QMap<QString, QString> > &);       //level_alert
    static void parserEmerg(QList<QMap<QString, QString> > &);       //level_emerg

private:
    static QMap<QString, QString> month;
};

#endif // PARSERLOG_H
